package com.company.app.bo;

import java.util.List;

import com.company.app.entities.Product;

public interface ProductBO {
	
	/**
	 * Gets the Product by id.
	 *
	 * @return the Product by id
	 */
	public Product getProductById(Long id);
	
	/**
	 * Search Product by filter.
	 *
	 * @return the Product
	 */
	public List<Product> searchProducts(List<Product> product);
	
	/**
	 * Gets the all product.
	 *
	 * @return the all product
	 */
	public List<Product> getAllProduct();
	
	/**
	 * Execute Product bussiness logic.
	 *
	 * @return true, if successful
	 */
	public boolean executeProductBussinessLogic();
	
	/**
	 * Creates the Product.
	 *
	 * @param Product the Product
	 * @return true, if successful
	 */
	public Product createProduct(Product product);
	
	/**
	 * Update Product.
	 *
	 * @param Product the Product
	 * @return true, if successful
	 */
	public boolean updateProduct(Product product);
	
	/**
	 * Delete Product.
	 *
	 * @param Product the Product
	 * @return true, if successful
	 */
	public boolean deleteProduct(Product product);


}
